const path = require('path');
const { VueLoaderPlugin } = require('vue-loader')
module.exports = {
    mode: 'production',
    entry: path.resolve(__dirname, '../packages/cl-ui/index.ts'),
    output: {
        path: path.resolve(__dirname, '../lib'),
        filename: 'index.js',
        libraryTarget:'umd', //打包格式 可以支持 commonJs 和 amd 不支持es6 可以在浏览器中直接使用
        library:'cl-ui'//打包名字 
    },
    // import xxx from 'Vue'
    externals:{//排除 忽略组件引用的vue变量 不打包vue
        vue:{
            root:'Vue',
            commonjs:'vue',
            commonjs2:'vue'

        }
    },
    resolve: { // 解析模块 对应的扩展名有哪些  默认导入支持哪些后缀
        extensions: ['.ts', '.tsx', '.js', '.vue']
    },
    module: {
        //解析文件规则
        rules: [{
                test: /\.(ts|js)x?$/,
                exclude: /node_modules/,//排除哪个
                loader: 'babel-loader'//解析这些文件用什么  用babel需要配置babel.config.js
            },
            {
                test: /\.vue$/,
                loader: 'vue-loader'
            }
        ]
    },
    plugins: [
        new VueLoaderPlugin(),
    ]
}